1. Technical Field
This invention generally relates to computer systems and more specifically relates to an apparatus and method for tracking users of a computer system.
2. Background Art
Since the dawn of the computer age, computer systems have evolved into extremely sophisticated devices, and computer systems may be found in many different settings. The widespread proliferation of computers prompted the development of computer networks that allow computers to communicate with each other. With the introduction of the personal computer (PC), computing became accessible to large numbers of people. Networks for personal computers were developed that allow individual users to communicate with each other.
One significant computer network that has recently become very popular is the Internet. The Internet grew out of this proliferation of computers and networks, and has evolved into a sophisticated worldwide network of computer system resources commonly known as the “world-wide-web”, or WWW. A user at an individual PC (i.e., workstation) that wishes to access the Internet typically does so using a software application known as a web browser. A web browser makes a connection via the Internet to other computers known as web servers, and receives information from the web servers that is rendered to the user's workstation. Information transmitted from the web server to the web browser is generally formatted using a specialized language called Hypertext Markup Language (HTML) and is typically organized into pages known as web pages.
Web servers (or web sites) often need to maintain a list of users who have registered with the web server. This list is often referred to as a “user registry.” The user registry contains information about the user that allows the web server to authenticate and authorize the user, and to customize information presented to the user. Past web server applications included a custom user registry. This required each application to maintain its own user registry.
The development of directory services has made it possible to share information between applications in an efficient manner. LDAP is the Lightweight Directory Access Protocol which is one example of a known protocol for accessing a directory service in a computer network such as the Internet. With the commercial acceptance of LDAP, several web server applications may now access a common user registry by providing logic that accesses Application Programming Interfaces (APIs) that interact with the LDAP directory in a defined manner. However, this requires that each application understand the schema for the LDAP directory and contain the logic for interacting with the LDAP directory. This places a large burden on each application that must be maintained as the application changes. Without an apparatus and method for encapsulating different portions of code for a user registry in a directory service into different segments that may be separately maintained, programmers will be forced to continue to provide user registry logic and directory service interface logic in each application, thereby providing a great duplication of effort resulting in unnecessary effort and cost to the industry.